

import java.util.*;

public class PracticeMap {
    public static void main(String[] args) {
        //新建map
        Map<String, String> map = new HashMap<>();


        //给map加元素
        map.put("one", "1");
        map.put("two", "2");
        map.put("three", "3");


        //计算map大小
        System.out.println("-------------计算map大小------------------");
        System.out.println(map.size());

        //判断map是否为空
        System.out.println("-------------判断map是否为空------------------");
        System.out.println(map.isEmpty());

        //判断map中是否包含某个key
        System.out.println("-------------判断map中是否包含某个key------------------");
        System.out.println(map.containsKey("two"));

        //判断map中是否包含某个value
        System.out.println("-------------判断map中是否包含某个value------------------");
        System.out.println(map.containsKey("1"));


        //根据key值获取value
        System.out.println("-------------根据key值获取value------------------");
        System.out.println(map.get("two"));


        //根据key删除某个value
        System.out.println("-------------根据key删除某个value------------------");
        map.remove("one");
        System.out.println(map.get("one"));


        //清除map中所有内容
        System.out.println("-------------清除map中所有内容------------------");
        map.clear();
        System.out.println(map.isEmpty());//map为空了

        //获取map中所有key
        System.out.println("-------------获取map中所有key------------------");
        map.put("one", "1");
        map.put("two", "2");
        map.put("three", "3");
        Set set = map.keySet();
        Iterator iterator = set.iterator();
        while (iterator.hasNext()) {
            System.out.println(iterator.next());
        }


        //获取map中所有value
        System.out.println("-------------获取map中所有value-----------------");
        Collection collection= map.values();
        Iterator iterator2 = collection.iterator();
        while (iterator2.hasNext()) {
            System.out.println(iterator2.next());
        }

        //map比较
        System.out.println("-------------map比较----------------");
        Map<String,String>  map2=new HashMap<>();
        map2.put("one", "1");
        map2.put("three", "3");
        map2.put("two", "2");
        System.out.println(map2.equals(map));  //直接比较map里元素是否相等，注意map里内容是无序的。


        //替换map中某个元素
        System.out.println("-------------替换map中某个元素----------------");
        map.replace("three","4");
        System.out.println(map.get("three"));


        //删除map中某个主键及主键对应值---1
        System.out.println("-------------删除map中某个主键及主键对应值1----------------");
        map.remove("three");
        System.out.println(map.get("three"));

        //删除map中某个主键及主键对应值---2
        System.out.println("-------------删除map中某个主键及主键对应值2----------------");
        map.remove("one","1");//这个是更安全的方式，方法含义是只有key和value都填写对了才会移除对应的数据。
        System.out.println(map.get("one"));



        
    }
}
